Kwik.Page.include("Kwik.Data.ParameterCollection.js");

/**
* Parameter object used with data commands
* @extends Kwik.Object
* @requires Kwik.Object
* @requires Kwik.Data.ParameterCollection
* @constructor
* @created 12:37 AM 7/29/2009
* @modified 12:38 AM 7/29/2009
*/
Kwik.Data.Parameter = function(config)
{
	/** @ignore */
	Kwik.Utility.extend(this, "Kwik.Object");
	this.__class.push("Kwik.Data.Parameter");

	/** Reference to a parent parameter collection object if any @type Kwik.Data.ParameterCollection */
	this.parent = null;
	/** Name of the column @type String */
	this.name = "";
	/** Value of the column @type Object */
	this.value = null;

	/** Configure this parameter object @type Kwik.Data.ParameterConfig */
	this.configure = function Column_configure(config)
	{
		config = this.Kwik$Object.configure(config);
		if(config.parent){this.parent = config.parent;}
		if(config.name){this.name = config.name;}
		if(config.value){this.value = config.value;}
		return config;
	};

	/** @ignore */
	this.main = function(config)
	{
		if(config){this.configure(config);}
	}; this.main(config);
};

/**
* Data parameter configuration object
* @constructor
* @created 12:21 AM 7/29/2009
* @modified 12:21 AM 7/29/2009
*/
Kwik.Data.ParameterConfig = function()
{
	/** Reference to a parent parameter collection object if any @type Kwik.Data.ParameterCollection */
	this.parent = null;
	/** Name of the column @type String */
	this.name = "";
	/** Value of the column @type Object */
	this.value = null;
}